package com.example.auth.service;

import com.alibaba.fastjson.JSONObject;
import com.example.auth.model.RoleMenuModel;
import com.example.auth.model.RoleModel;
import com.example.db.model.IPage;

import java.util.List;

/**
 * @Classname RoleMenuModelService
 * @Description TODO
 * @Date 2022/7/31 10:05
 * @Created by XiongXiong
 * @Author: X.I.O
 */
public interface RoleMenuModelService {

    public void deleteRoleMenuByRoleIdandMenuId(Object RoleId,Object menuId);

    /**
     * 分页搜索
     * @param pageNum
     * @param pageSize
     * @param object
     * @return
     */
    public IPage<RoleMenuModel> pageRoleMenuModel(int pageNum, int pageSize, JSONObject object);

    /**
     * 保存
     * @param roleMenuModel
     * @return
     */
    public RoleMenuModel saveRoleMenuModel(RoleMenuModel roleMenuModel);

    /**
     * 更行
     * @param roleMenuModel
     * @return
     */
    public RoleMenuModel updateRoleMenuModel(RoleMenuModel roleMenuModel);

    /**
     * 获取单个
     * @param id
     * @return
     */
    public RoleMenuModel getRoleModelById(Object id);


    /**
     * 通过角色id和菜单id获取单个
     * @param roleId
     * @param menuId
     * @return
     */
    public RoleMenuModel getRoleMenuModelByRoleIdandMenuId(Object roleId,Object menuId);

    /**
     * 查询已经授权的菜单id通过角色id
     * @param
     * @return
     */
    public List<Integer> getRoleMenuModelMenuListByRoleId(Object roid);

    /**
     * 通过角色id列表获取菜单列表
     * @param roleIds
     * @return
     */
    public List<Integer> getRoleMenuListRoleIds(List<Integer> roleIds);
}
